type StringToUnion<
  S extends string,
  T extends string[] = []
> = S extends `${infer R}${infer U}`
  ? StringToUnion<U, [...T, R]>
  : T extends (infer Y)[]
  ? Y
  : T;

type STU1 = StringToUnion<"hello">;

// type ST1 = "1" | "2"
// const stets: string =
